Keir Fraser [Wed, 18 Jun 2008 08:34:26 +0000 (09:34 +0100)]
mm.c: use local variable domain pointer
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Wed, 18 Jun 2008 08:32:50 +0000 (09:32 +0100)]
stubdom: fix using minios frontends directly when libc is actived
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Tue, 17 Jun 2008 08:36:25 +0000 (09:36 +0100)]
minios,stubdom: Add OBJ_DIR parameter to compile outside sources,
which permits to easily compile mini-os in various flavors. Also clean
some parts of stubdom build.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Tue, 17 Jun 2008 08:35:36 +0000 (09:35 +0100)]
ioemu: move xenfb frontend (used by stubdom) to its own file, since it
does not really belong to hw/, but to /, like sdl.c and vnc.c.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 16 Jun 2008 15:35:17 +0000 (16:35 +0100)]
[IA64] trivial compilation fix caused by c/s 17847:
8a0415fac759.
This patch fixes the following compilation error caused
by c/s 17847:
8a0415fac759.
machine_kexec.c: In function 'arch_crash_save_vmcoreinfo':
machine_kexec.c:201: error: 'frametable_pg_dir' undeclared (first use in this function)
machine_kexec.c:201: error: (Each undeclared identifier is reported only once
machine_kexec.c:201: error: for each function it appears in.)
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Keir Fraser [Mon, 16 Jun 2008 14:22:41 +0000 (15:22 +0100)]
vmx: Allow restore of context from a non-Intel processor. In
particular, VMX requires segment 'granularity' to be set correctly, so
we force it if need be in vmx_set_segment_register().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 16 Jun 2008 14:21:49 +0000 (15:21 +0100)]
amd svm: Do not touch (non-existent) attr and selector fields for GDTR
and IDTR in the VMCB in svm_set_segment_register(). This is just for
clarity of code and to prevent any issues in the future.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 16 Jun 2008 10:49:15 +0000 (11:49 +0100)]
vt-d: Quieten down overzealous logging.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 16 Jun 2008 10:24:17 +0000 (11:24 +0100)]
x86_emulate: Fix the segment-load function
Fix the non-conforming type check and uses the consistent method to
fetch the cpl value as function get_cpl().
Also make sure vm86 mode is properly handled when determining whether
in real mode or protected mode -- in various respects vm86 mode can
act like both.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 15:10:50 +0000 (16:10 +0100)]
32-on-64: Fix compat-access macros to use correct underlying HVM accessors.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 14:31:35 +0000 (15:31 +0100)]
pv-on-hvm: Fix panic-handler code to work on wider range of kernels.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 13:15:00 +0000 (14:15 +0100)]
Bring back console_start_log_everything() as a milder alternative to
console_start_sync(). Revert keyhandler logic to use it. The
difference now is that serial logic is updated to not drop characters
if inb a log_everything region. Still this is milder than a sync
region since the async buffer must be filled before we start to
busy-wait on each character.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 12:55:50 +0000 (13:55 +0100)]
[ACM] Pass uuid to created policy
A UUID needs to be passed to the created policy.
Signed-off-by: stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Fri, 13 Jun 2008 12:55:19 +0000 (13:55 +0100)]
[ACM] Enable labeling of resources as inaccessible
Enable the labeling of (disk-type) resources with the special label
__INACCESSIBLE__ to prevent unlabeled domains from accessing them.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Fri, 13 Jun 2008 12:50:23 +0000 (13:50 +0100)]
hvm, 32-on-64: Allow a 32-bit x86 hvm guest access to any memory_op().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 12:49:56 +0000 (13:49 +0100)]
Introduce guest_handle_subrange_okay() for checking sub-sections of an
argument array. Needed where a compat shim is splitting up a 32-bit
guest's larger argument array, and only the currently-active part of
the translated array is contained within the compat_arg_xlat_area.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 12:48:13 +0000 (13:48 +0100)]
32-on-64: Fix is_compat_arg_xlat_range().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 12:47:28 +0000 (13:47 +0100)]
32-on-64: Fix error handling for XENMEM_decrease_reservation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 10:39:42 +0000 (11:39 +0100)]
Improve serial output when dropping characters to drop them in big
batches. Printing one character in one thousand is not useful!
Also make debug handlers all print synchronously.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 10:21:58 +0000 (11:21 +0100)]
kexec: Fix the 32-bit build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 09:13:25 +0000 (10:13 +0100)]
hvm: Fix the realmode live migration issue with Intel EPT
The patch save/restore the HVM_PARAM_IDENT_PT parameter, then the live
migration during real mode with EPT may work fine.
Signed-off-by: Xiaohui Xin <Xiaohui.xin@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 13 Jun 2008 08:56:49 +0000 (09:56 +0100)]
hvm: Fix max_mapped_pfn when using 2MB super pages.
Fixes booting Linux guest allocated more than 4G memory.
- The p2m table will track the max_mapped_pfn, and while doing
p2m_gfn_to_mfn(), if the gfn is higher than max_mapped_pfn, the
function will return _mfn(INVALID_MFN). This makes the Linux guest
kernel panic.
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Keir Fraser [Fri, 13 Jun 2008 08:54:03 +0000 (09:54 +0100)]
extract vmcoreinfo from /proc/vmcore for Xen
- the machine address and the size of the vmcoreinfo area is returned
via the kexec_op(get_range) hypercall
- fill the vmcoreinfo data when the kexec_op(crash load) hypercall
is called
Signed-off-by: Itsuro Oda <oda@valinux.co.jp>
Keir Fraser [Thu, 12 Jun 2008 17:14:00 +0000 (18:14 +0100)]
x86: remove use of per-domain lock from page table entry handling
This change results in a 5% performance improvement for kernel builds
on dual-socket quad-core systems (which is what I used for reference
for both 32- and 64-bit). Along with that, the amount of time reported
as spent in the kernel gets reduced by almost 25% (the fraction of
time spent in the kernel is generally reported significantly higher
under Xen than with a native kernel).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 16:57:03 +0000 (17:57 +0100)]
x86: Reduce page->shadow_flags to 32 bits so we can steal space for a
spinlock_t (on 64-bit Xen) without expanding the page_info struct.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 16:17:44 +0000 (17:17 +0100)]
x86: Do not use HPET in Cx state management since dom0 may need RTC
IRQ routing. This makes C3 unusable for now.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 16:01:31 +0000 (17:01 +0100)]
xend: detect and report qemu-dm failure
Currently, when qemu-dm fails, typically its exit status is lost and
xend doesn't notice. In the patch below I use a fifo (named pipe) to
detect qemu-dm's termination and report the exit status to the
logfile, if possible. (If xend has been restarted since the domain
was created, this isn't possible but we can still know that it failed
and report that fact.)
It would be better to have a failure of qemu crash the domain, by
calling the SCHEDOP_shutdown hypercall with SHUTDOWN_crash. However
if you have on_crash=restart and the configuration is broken in some
way that causes qemu-dm to bomb out straight away this causes xend to
spin endlessly restarting the doomed domain. This is a general
problem with on_*=restart and ought to be fixed separately. When it
is fixed, we can safely arrange for domains whose dm has crashed to be
themselves forcibly crashed.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Thu, 12 Jun 2008 15:55:09 +0000 (16:55 +0100)]
dom0 state dump
Since xenctx cannot (for obvious reasons) display the context of
dom0's vCPU-s, here are the beginnings of a console based mechanism to
achieve the same (useful if dom0 hangs with one or more de-scheduled
vCPU-s). The stack handling obviously needs improvement, but the
register context should come out fine in all cases.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 12 Jun 2008 15:34:25 +0000 (16:34 +0100)]
keyhandler: When dumping all-CPU register state, wnter console sync
mode so we do not drop any critical debug data.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 15:18:31 +0000 (16:18 +0100)]
x86: don't print dom0 initrd information twice
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 12 Jun 2008 15:17:19 +0000 (16:17 +0100)]
x86: minor adjustment to asm constraint in get_page()
While not wrong, avoiding the unnecessary output allows the compiler a
little more freedom.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 12 Jun 2008 15:11:39 +0000 (16:11 +0100)]
x86: add perf counter for pointless updates of writable pages through a hypercall
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 12 Jun 2008 15:09:08 +0000 (16:09 +0100)]
x86: machine_halt() forcibly re-enables IRQs as it may be called from
panic() which itself may be called in an IRQ-safe critical section.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 15:05:35 +0000 (16:05 +0100)]
x86/32on64: fix physical address restriction
The allocation bit size setting wasn't working anymore after the
recent fix to properly use PAGE_SHIFT instead of PAGE_SIZE. This was
because the bit size implies a power-of-two range that's accessible,
but if all memory is accessible anyway (and its upper boundary is not
a power of two), the domain would either be needlessly restricted or
wouldn't be able to allocate as much memory as was intended for it
(specifically the case for Dom0 without dom0_mem= boot
parameter). Consequently, don't restrict the bit width if all memory
can be accessed.
To avoid needing to adjust this code in two places in the future (it
may need further touching when memory hotplug gets supported), fold
the logic into a function.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 14:47:45 +0000 (15:47 +0100)]
x86: simplify domain memory cleanup
Page table pages cannot come from the Xen heap, so there's no need to
special-case these during cleanup.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 12 Jun 2008 14:44:21 +0000 (15:44 +0100)]
[IA64] re-add efi support to acpi_os_get_root_pointer()
On ia64 RSDP address is obtained from efi table instead of
memory scan. Otherwise it may use wrong table to fail to find
tables.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Keir Fraser [Thu, 12 Jun 2008 14:42:09 +0000 (15:42 +0100)]
[IA64] compilation fix caused by 17814:
9af7a535225f
ia64 compliation fix caused by 17814:
9af7a535225f.
- generate_acpi_checksum() is replaced by acpi_tb_checksum()
- move dump_execution_state() definitions from asm-ia64/xenprocessor.h
to asm-ia64/bug.h
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Keir Fraser [Thu, 12 Jun 2008 14:41:15 +0000 (15:41 +0100)]
tools: replace sprintf with snprintf where applicable
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Thu, 12 Jun 2008 14:22:35 +0000 (15:22 +0100)]
32-on-64: Clean up and unify compat_arg_xlat_area handling.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 12 Jun 2008 08:24:35 +0000 (09:24 +0100)]
minios can cope with >4G CR3 since it never uses it
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Wed, 11 Jun 2008 15:38:02 +0000 (16:38 +0100)]
MSI: Handle MSI EOI for amd systems
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Keir Fraser [Wed, 11 Jun 2008 14:19:42 +0000 (15:19 +0100)]
MSI: Fix msi delivery for hvm guest
Some parameters like "dest_mode", "delivery_mode" and "trig_mode"
seem to have been miscalculated before delivering MSI interrupt into
hvm passthru guest. This will cause guest driver to roll back to
legacy interrupt mode.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Keir Fraser [Wed, 11 Jun 2008 14:18:26 +0000 (15:18 +0100)]
AMD IOMMU: Enable MSI for hvm guest
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Keir Fraser [Wed, 11 Jun 2008 10:35:35 +0000 (11:35 +0100)]
x86: cpuid configuration for PV guest
Add pv guest support for the cpuid configuration and checking. That
feature only works for cpuid request which are coming from the guest's
kernel, a process could still call the cpuid directly.
A new policy for pv guest has been created in libxc. dom0 cpuid
emulation is left hardcoded in Xen.
Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 11 Jun 2008 08:44:42 +0000 (09:44 +0100)]
Push python-related make variable definitions into tools/misc.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Wed, 11 Jun 2008 08:36:23 +0000 (09:36 +0100)]
Have `make install' write the Python version number in the #!
The Xen tools contain a number of Python extensions written in C. The
C API to Python, used by these extensions, is not stable from one
version of Python to the next.
Our build system uses whatever version of Python is the default on the
build system at that time to build these extensions. However, the
actual scripts such as `xm' use #!/usr/bin/env python which uses
whichever version of Python is the default on the deployment system at
the time of invocation.
If for any reason these two versions of Python are not the same (eg,
because the system is built on one computer and executed on another,
or because the system's gains a more recent Python installation
alongside the original which changes the previous default), warnings
and failures occur.
In this patch I arrange for Python scripts to be installed via a
special wrapper around `install', which determines the build-time
Python version and path and then writes that into the #! line at the
point of `make install' (or `make dist'). (It can also be overridden
by setting PYTHON_PATH.)
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Tue, 10 Jun 2008 15:59:24 +0000 (16:59 +0100)]
minios: Fix >4GB machine addresses
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Tue, 10 Jun 2008 14:30:50 +0000 (15:30 +0100)]
x86/64: Fix build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 10 Jun 2008 13:53:01 +0000 (14:53 +0100)]
xend: minor ballooning cleanup
In xend/balloon.py, there's only one place where dom0_start_alloc_mb
is used. Move its initialization to right before its usage.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 10 Jun 2008 13:51:00 +0000 (14:51 +0100)]
x86: Default ACPI reboot method.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 10 Jun 2008 13:17:20 +0000 (14:17 +0100)]
xenstore: Fix error path broken by c/s 17816
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 10 Jun 2008 13:15:53 +0000 (14:15 +0100)]
xenstat: some cleanups
sprintf -> snprintf
malloc(n * m) -> calloc(n, m)
get rid of a cast
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 10 Jun 2008 12:50:31 +0000 (13:50 +0100)]
xm on xenapi: Add PVFB support in xenapi_create.py.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Keir Fraser [Tue, 10 Jun 2008 12:49:54 +0000 (13:49 +0100)]
xenstore: cleanups
Attached patch uses calloc() for hash allocation.
This makes sure, the allocated memory is always initialized.
Also cleanup error handling a bit.
On *BSD avoid conflicts with BSD list macros.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 10 Jun 2008 12:49:02 +0000 (13:49 +0100)]
libxc: Update for NetBSD
returns hypercall return value when ioctl was successful.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Tue, 10 Jun 2008 12:45:29 +0000 (13:45 +0100)]
Pull in ACPI table parsing code from Linux 2.6.26-rc4.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 10 Jun 2008 08:27:01 +0000 (09:27 +0100)]
libxenstat: Fix statistics for blktap disks on linux
Overview: update xenstat vbd statistics parsing from
/sys/devices/xen-backend to process blktap disks
Reason:
-blktap devices (now referenced as tap rather than vbd in
/sys) have statistics counters
(e.g., rd_req, wr_req, oo_req) prepended by tap_
-xenstat behavior did not previously account for this
behavior, which resulted in 0 disks
visible and similarly impacted disk statistics
To reproduce these conditions, make a domain with tap:aio backed disks
on 3.2.x, run xentop, and press B to view VBD stats (nothing will
appear for the domain using tap:aio)
Signed-off-by: steve.maresca@gmail.com
Keir Fraser [Tue, 10 Jun 2008 08:25:47 +0000 (09:25 +0100)]
Fix the build with perfc=y.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Keir Fraser [Tue, 10 Jun 2008 08:24:47 +0000 (09:24 +0100)]
x86: Fix the build after HVMTRACE changes.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Tue, 10 Jun 2008 08:17:55 +0000 (09:17 +0100)]
tools/python/xen/lowlevel: some cleanups
Mainly:
malloc(n * m) -> calloc(n, m)
sprintf -> snprintf
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Mon, 9 Jun 2008 16:18:27 +0000 (17:18 +0100)]
Allow older PAE Linux guests to access entire compat m2p.
Older PAE guests (prior to xen-unstable.hg 8924:
229c602a075a, Feb
2006, this includes some vendor's kernel in the field) use a limit of
0xf6800000 on their code and data segments (i.e. up to the end of the
read-only m2p table).
Newer kernels use a limit of 4G and rely on the hypervisor to clamp to
the actual maximum allowed. 32on64 mode takes advantage of this to
allow a larger m2p than would fit in the PAEonPAE sized hole.
This means that PAE guests with the hardcoded low limit cannot run on
top of a 64 bit hypervisor on a host machine which has more than 16G
of RAM. Fix this by extending any code or data segment which ends
above the start of the hypervisor hole for that guest.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Keir Fraser [Mon, 9 Jun 2008 14:06:26 +0000 (15:06 +0100)]
libfsimage: make pygrub work on ufs
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Mon, 9 Jun 2008 14:05:18 +0000 (15:05 +0100)]
ioemu: simplyfing vga_draw_text code
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 12:26:30 +0000 (13:26 +0100)]
minios: add proper shutdown facilities
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 12:26:05 +0000 (13:26 +0100)]
stubdom: fetch command line from start_info instead of xenstore
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 12:25:35 +0000 (13:25 +0100)]
libxc: Use vpath rather than VPATH, to avoid linking with hypervisor .o files.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 9 Jun 2008 10:45:10 +0000 (11:45 +0100)]
stubdom: simplify xenfb resize handler
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 09:44:09 +0000 (10:44 +0100)]
When building from a tarball release use hardcoded path to
linux-2.6.18-xen.hg as a last resort when searching for a Linux source
tree.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:51:14 +0000 (09:51 +0100)]
x86: Fix S3 resume after creating an HVM guest.
If we don't use PIT, we should disable it at boot time and at S3
resuming. In Xen this is done by disable_pit_irq(), but this function
is used by __initcall(). After bootstrap it will be discarded and may be
overwritten. This usually results in S3 resuming failure.
Signed-off-by: Huacai Chen <huacai.chen@intel.com>
Signed-off-by: Li Zhang <li.zhang@intel.com>
Keir Fraser [Mon, 9 Jun 2008 08:47:51 +0000 (09:47 +0100)]
xm on xenapi: Fixes for rfb console.
- set 'vncunused' param default to 1
- add 'vncdisplay' param
- handle the case when sdl=1
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Keir Fraser [Mon, 9 Jun 2008 08:47:00 +0000 (09:47 +0100)]
stubdom: document that pty usage should be disabled
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:46:46 +0000 (09:46 +0100)]
stubdom: make non-VNC + stdvga work
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:46:32 +0000 (09:46 +0100)]
stubdom: permit compilation without lwip
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:46:16 +0000 (09:46 +0100)]
minios: use inlines instead of macros for bswap*
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:45:38 +0000 (09:45 +0100)]
xentrace: fix tracing for 64bit guests
Xen tracing some times ago used to put values of type 'long' into the
trace buffer. This has changed to uint32_t. Some trace points log
virtual addresses, which get cropped to 32bit in this case. There were
some inline functions to handle at least PF_XEN and VMEXIT, which
caused a lot of code duplication. The attached patch fixes several
issues:
1. fix and extend tools/xentrace/formats
2. Fix xentrace_format to handle up to 7 parameters
3. create convenience macros to properly log long values
4. remove the inline functions in hvm/trace.h and replace them by macros
5. Change the CPUID trace to work correctly
6. group HVM trace points enable mechanism
I used a similar approach as in PV tracing with bit 8 indicating 64bit
pointers.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
Keir Fraser [Mon, 9 Jun 2008 08:44:21 +0000 (09:44 +0100)]
AMD IOMMU: add support for PV guest
Assuming iommu_populate_page_table() is only used for PV guest, a new
check is added into assign_device() to avoid duplicating the work done
by amd_iommu_sync_p2m() for hvm guest.
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Keir Fraser [Mon, 9 Jun 2008 08:42:51 +0000 (09:42 +0100)]
xend: Use get_config_string for 'keymap' and 'resource-label-change-script'.
Signed-off-by: Juergen Keil <jk@tools.de>
Keir Fraser [Mon, 9 Jun 2008 08:42:14 +0000 (09:42 +0100)]
stubdom: prevent newlib from emiting cli/sti in longjmp
Also fix build dependencies and cleanup.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:39:15 +0000 (09:39 +0100)]
ioemu: cleaning DisplayState->dpy_resize interface
Bring the DisplayState dpy_resize interface back to how it is in qemu
mainstream, thus making the code easier to merge.
In order to support sharing the framebuffer, I am adding a new resize
interface called dpy_resize_shared that also has a depth and a pixels
parameters. As a consequence I could remove the dpy_colourdepth
callback and make the code cleaner and easier to read.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Keir Fraser [Mon, 9 Jun 2008 08:37:56 +0000 (09:37 +0100)]
acm: check for duplicate labels and types
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Mon, 9 Jun 2008 08:37:22 +0000 (09:37 +0100)]
acm: Allow remove of labels from suspended domains.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Keir Fraser [Mon, 9 Jun 2008 08:36:27 +0000 (09:36 +0100)]
xm: Set device_model option value default to None.
If device_model is set to '', xend will fail to execute the device
model. If None, xend will detect it and set a sensible qemu-dm path
instead.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Keir Fraser [Mon, 9 Jun 2008 08:36:07 +0000 (09:36 +0100)]
xm on xenapi: Enable more platform configurations
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Keir Fraser [Thu, 5 Jun 2008 12:04:07 +0000 (13:04 +0100)]
stubdom: .hgignore updates
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Thu, 5 Jun 2008 12:03:47 +0000 (13:03 +0100)]
stubdom: upgrade lwip to newer upstream version since it provides bugfixes
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Thu, 5 Jun 2008 12:03:31 +0000 (13:03 +0100)]
minios: add a blkfront synchronous interface
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Thu, 5 Jun 2008 09:47:08 +0000 (10:47 +0100)]
32-on-64: Fix physaddr_bitsize computation when creating a 32b x86
compat domain.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 5 Jun 2008 09:42:37 +0000 (10:42 +0100)]
x86, p2m: Fix typo in p2m_change_type_global().
From: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 5 Jun 2008 09:36:19 +0000 (10:36 +0100)]
x86 hvm: Improve paging performance for 64b solaris guests
The following patch provides a 'fast-path' for sh_remove_write_access()
for 64 bit Solaris HVM guests. This provides a significant performance
boost for such guests; our testing shows a 200-400% improvement in
microbenchmarks such as fork(), exit(), etc...
From: Gary Pennington <Gary.Pennington@sun.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 5 Jun 2008 09:34:01 +0000 (10:34 +0100)]
xen: build fix for NetBSD (test -x usage).
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Thu, 5 Jun 2008 09:33:01 +0000 (10:33 +0100)]
libfsimage: Build fix for NetBSD.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Keir Fraser [Thu, 5 Jun 2008 09:31:17 +0000 (10:31 +0100)]
xm: Fix formatting of xm block-list output.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Thu, 5 Jun 2008 09:30:29 +0000 (10:30 +0100)]
Fix blkif.py for virsh start
I defined a cdrom to a guest domain as follows.
",hdc:cdrom,r"
When the guest domain was created by using xm create command, uname
of the cdrom was ''. Then creating the guest domain succeeded.
[2008-06-03 15:23:41 xend.XendDomainInfo 25956] DEBUG
(XendDomainInfo:200)
XendDomainInfo.create(['vm', ['name', 'rhel5.2ga_hvm_lvol1'],
<<snip>>
['device', ['vbd', ['uname', ''], ['dev', 'hdc:cdrom'], ['mode',
'r']]],
<<snip>>
But, when the guest domain was created by using virsh start command,
uname of the cdrom was None. Then creating the guest domain failed.
[2008-06-03 15:22:10 xend.XendDomainInfo 25559] DEBUG
(XendDomainInfo:200)
XendDomainInfo.create(['vm', ['name', 'rhel5.2ga_hvm_lvol1'],
<<snip>>
['device', ['vbd', ['dev', 'hdc:cdrom'], ['mode', 'r']]],
<<snip>>
This patch fixes to be able to create guest domains by both xm create
command and virsh start command.
FYI:
"if uname is None:" --> "if uname == '':" --> "if not uname:"
till CS#17625 current by this patch
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Tue, 3 Jun 2008 08:41:19 +0000 (09:41 +0100)]
Improve HPET comparator reprog to prevent intr-near-missing case
HPET intr-near-missing means if the current counter value is too close
to the comparator value to be reprogrammed the expected HPET intr may
be missing. Linux kernel uses a mininal 48-hpet-ticks(~3.5us) distance
to workaround this, but personal observation showed there is still
failure case while delta=3D0xba (~13.5us). So choosing 20us as the
MIN_DELTA_NS should be helpful to prevent near-missing from happening.
local_irq_save/restore were used to avoid disturbance. (+ 2) was used
as a final guard to avoid wrong judgement due to the real happened
near-missing case.
Signed-off-by: Wei Gang <gang.wei@intel.com>
Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Keir Fraser [Tue, 3 Jun 2008 08:35:02 +0000 (09:35 +0100)]
x86: Enhance Cx stability by adding softirq check before entry cstate
Without checking softirq_pending before entry Cx state, softirq such
as SCHEDULE_SOFTIRQ and TIMER_SOFTIRQ can't be handled timely. It may
cause severe failures such as disk I/O failure.
This patch addresses the issue above, meanwhile move timing points
closer to cstate entry/exit point to make C3 residency more accurate,
and enable irq a little earlier.
Signed-off-by: Wei Gang <gang.wei@intel.com>
Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Keir Fraser [Tue, 3 Jun 2008 08:33:41 +0000 (09:33 +0100)]
xend: implement VM_hard_reboot of XenAPI.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Keir Fraser [Tue, 3 Jun 2008 08:32:50 +0000 (09:32 +0100)]
stubdom: Add console reading support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Keir Fraser [Mon, 2 Jun 2008 15:05:07 +0000 (16:05 +0100)]
rombios: S3 resume fixes.
On AMD cpus, HVM S3 resume was hanging in the bios when trying
to load the x_firmware_waking_vector from absolute
address 0xEA01C (that is, a segment offset greater than 64kB).
This change also now uses 20-bits (instead of 16) from the FACS
standard firmware_waking_vector.
Signed-off-by: Juergen Keil <jk@tools.de>
Keir Fraser [Mon, 2 Jun 2008 15:00:45 +0000 (16:00 +0100)]
xc hvm: Fix default CPUID features according to PAE/64-bit
capabilities of the guest and of the hypervisor.
Based on a patch by Juergen Keil <jk@tools.de>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 2 Jun 2008 09:56:52 +0000 (10:56 +0100)]
Remove domain_pause()/domain_unpause() from SCHEDOP_remote_shutdown.
It is pointless and causes the hypervisor to hang if dom0 invokes this
hypercall on itself.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>